/*
 * @Description: 
 * @Author: Aroma
 * @Date: 2024-09-24 20:39:45
 * @LastEditors: Aroma
 * @LastEditTime: 2024-09-24 20:53:00
 * @别瞎看: 你个无脑牛马
 */
public class Student{
    //属性
    private String name;
    private int age;
    public Student(){}
    public Student(String name,int age){
        this.name=name;
        this.age=age;
    }
    public int getAge(){
        return age;
    }
    public String getName(){
        return name;
    }
    public void setAge(){
        this.age=age;
    }
    public void setName(){
        this.name=name;
    }
    //重写equals方法 
    @Override
    public boolean equals(Object obj){
        System.out.println("重写equals方法发");
        // 类型判断

        // 如果类型不同 那么直接返回 false
        boolean result=false;
        // instanceof用于检查对象是否是Student类型的实例；返回值是boolean类
        // 第一步. 判断类型是否相同
        if(!(obj instanceof Student)){
            return false;
        }
        //引用地址相同
        if(this==obj){
            System.out.println("引用地址相同");
            return false;
        }
        //第二步，判断值是否相同
        //向下转型  强转
        Student s=(Student)obj;
        if(name.equals(s.getName())&&age==s.getAge()){
            System.out.println("对象的属性值相同");
            result=true;
        } 
        return result;
    }
}
